/**
 * http 模块时node.js官方提供、用来创建 WEB 服务器的模块
 * 通过 http.createServer() 创建服务
 */

const http = require('http');

const server = http.createServer();


// 使用服务器实例的 .on() 方法, 为服务器实例绑定 request 事件, 监听客服端的请求
server.on('request', (req, res) => {
  // 是要有客服端来请求我们自己的服务器, 就会触发request时间, 从而调用这个事件处理函数

  /**
   * req.url    客户端请求的URL地址
   * req.method 客户端的 method 请求类型  GET | POST | ...
   */
  console.log(`req.url: ${req.url}, methodType: ${res.method}`)
  console.log('Someone visit our web server')

  // 响应信息设置请求头
  res.setHeader('Content-Type', 'text/html;charset=utf-8')

  let str = `啊哈哈哈 Your request url is ${req.url}, and request method is ${req.method}\n
            dataTime: ${new Date()}\n
            ${req.toString()}`

  res.end(str)
})

// 启动服务器, server.listen(端口号, cb回调)方法, 即可启动web服务器
server.listen(80, () => {
  console.log('http server running at http://127.0.0.1')
})

